package com.yjw.yunmusic.web.control;

import com.yjw.yunmusic.web.model.Comment;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

@Controller
public class CommentPostControl {

    private static Map<String, List<Comment>>comments = new HashMap<>();
//    private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

    //动态评论
    @RequestMapping(value = "/comment/post")
    public String post(@RequestParam(value="songId") String songId , Comment comment){

        Date commentTime= new Date();
        comment.setCommentTime(commentTime);
        //xxx-xxx-xxx 36位 UUID产生的随机数全局唯一
        comment.setId(UUID.randomUUID().toString());

        comments.computeIfAbsent(songId,k->new ArrayList<>()).add(comment);

        List<Comment> commentList = comments.get(songId);
        Collections.sort(commentList, new Comparator<Comment>() {
            @Override
            public int compare(Comment o1, Comment o2) {
                if(o1.getCommentTime().after(o2.getCommentTime())){
                    return -1;
                }
                return 1;
            }
        });

        return "redirect:/songinfo?songId="+songId;
    }

    public List<Comment> getComments(String songId){
        return comments.get(songId);
    }

}
